# -*- coding: utf-8 -*-
'''
Created on 14.03.2011

@author: mutius
'''

import wx.grid

class GenericTable(wx.grid.PyGridTableBase):

    def __init__(self, data, rowLabels=None, colLabels=None):
        wx.grid.PyGridTableBase.__init__(self)
        self.data = data
        if rowLabels == None:
            rowLabels = range(1, len(data) + 1)
        self.rowLabels = rowLabels
        self.colLabels = colLabels
        
    def GetNumberRows(self):
        return len(self.data)
    
    def GetNumberCols(self):
        try:
            return len(self.data[0])
        except:
            return 0
    
    def GetColLabelValue(self, col):
        if self.colLabels:
            return self.colLabels[col]
        
    def GetRowLabelValue(self, row):
        if self.rowLabels:
            return self.rowLabels[row]
        
    def IsEmptyCell(self, row, col):
        return False
    
    def GetValue(self, row, col):
        return self.data[row][col]
    
    def SetValue(self, row, col, value):
        pass
